1
การเขียนเลขฐานสิบหกและพื้นที่ที่อยู่เสมือนจริง
AI031Lesson 2
00:00

ก้าวเข้าสู่ มุมมองระดับเครื่องจักรของโปรแกรม, ซึ่งความซับซ้อนของฮาร์ดแวร์ถูกสรุปเป็นโครงสร้างที่ชัดเจนในรูปแบบของ พื้นที่ที่อยู่เสมือนจริง. ในมุมมองนี้ หน่วยความจำไม่ใช่แค่การรวมตัวของตัวแปร แต่คืออาร์เรย์ขนาดใหญ่ต่อเนื่องของบล็อก 8 บิต ที่เรียกว่า ไบต์. สำหรับเครื่องที่มีขนาดคำ (word) $w$ บิต ที่อยู่เหล่านี้จะมีค่าตั้งแต่ $0$ ถึง $2^w - 1$ ซึ่งกำหนดข้อจำกัดของขอบเขตที่โปรแกรมสามารถเข้าถึงได้

1. ศักยภาพของเลขฐานสิบหก

เลขฐานสองคือภาษาของวงจรไฟฟ้า แต่ การเขียนเลขฐานสิบหก คือภาษาของนักพัฒนาโปรแกรม เพราะ $16 = 2^4$ ดังนั้นเลขฐานสิบหกหนึ่งหลัก (0–F) จับคู่กับไบต์ 4 บิตได้อย่างสมบูรณ์แบบ ทำให้ค่า 1 ไบต์สามารถเขียนแสดงได้อย่างกระชับด้วยตัวเลขเพียงสองหลัก (เช่น 0xFF) ซึ่งเป็นการเขียนย่อที่จำเป็นต่อการอ่าน รหัสเครื่อง และ โค้ดระดับอะเซมบลีเช่น คำสั่ง 4004dc: 48 03 47 28.

รูปที่ 2.2: การแปลงระหว่างเลขฐานสิบหก ฐานสอง และฐานสิบฐานสิบหกฐานสิบฐานสอง01...9ABCDEF01...910111213141500000001...1001101010111100110111101111 กฎ: การแปลงเลขฐานสิบ x เป็นเลขฐานสิบหก ให้คำนวณซ้ำ ๆ ว่า x = q ⋅ 16 + r

2. ความแม่นยำและการคำนวณ

เมื่อเราดำเนินการกับ ประเภทข้อมูลจำนวนเต็มเราจะพบกับ วงแหวนบูลีน และ ตรรกะสองส่วนเสริม ตรรกะ เราต้องจัดการกับ การจัดเก็บแบบเล็กสุด การจัดเก็บ, การเกินขอบเขตจำนวนเต็มและรายละเอียดของ ความละเอียดเดี่ยว ทศนิยมที่มี อนันต์ ($+\infty$) และ NaN อยู่ ความเข้าใจรูปแบบบิตเหล่านี้คือก้าวแรกในการเชี่ยวชาญ การคำนวณขนาดใดก็ได้ และโปรแกรมระบบที่แข็งแรง

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>